package conson.tech.manage.coupons.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import conson.tech.core.response.Response;
import conson.tech.manage.coupons.entity.dto.*;
import conson.tech.manage.coupons.entity.vo.CouponsBatchCenterVo;
import conson.tech.manage.coupons.entity.vo.CouponsCenterVo;

import java.util.List;

/**
 * InterfaceName: CouponsCenterService
 * Description:
 * Author: ZYF
 * Date: 2020/7/23
 * Version: 1.0
 */
public interface CouponsCenterService {

    /**
     * 根据优惠券类型，查询优惠券列表
     */
    List<CouponsCenterVo> queryList(Integer couponsType);

    /**
     * 分页查询优惠券批次
     */
    Page<CouponsBatchCenterVo> queryCouponsList(Integer pageSize, Integer pageIndex, CouponsCenterDto dto);

    /**
     * 新增限时抢活动
     */
    Response addTimeCouponsCenter(CouponsCenterAddTimeDto dto, Long userId,String currentUsername);

    /**
     * 删除一条限时抢优惠券活动
     */
    Response delTimeCouponsCenter(Long userId, String currentUsername, Long id);

    /**
     * 修改限时抢优惠券
     */
    Response editTimeCouponsCenter(Long id, CouponsCenterEditTimeDto dto, Long userId, String currentUsername);

    /**
     * 新增领券活动
     */
    Response addReveiceCouponsCenter(Long userId, String currentUsername, CouponsCenterAddReceiveDto dto);

    /**
     * 删除领券活动
     */
    Response delReceiveCouponsCenter(Long userId, String currentUsername, Long id);

    /**
     * 修改领券活动
     */
    Response editReceiveCouponsCenter(Long userId, String currentUsername, Long id, CouponsCenterEditReceiveDto dto);

    /**
     * 定时将限时抢活动的库存进行补充
     *
     * @return  void
     */
    void updateTimeActivityStock();
}
